package ge.gen.eBdgt.service;

import ge.gen.eBdgt.persistence.IcnTableDao;
import ge.gen.eBdgt.vo.IcnVO;
import ge.gen.eBdgt.vo.OutageMonthVO;
import ge.gen.eBdgt.vo.ProjectKindVO;
import ge.gen.eBdgt.vo.TeamWrkLoadVO;

import java.util.List;

public class IcnDaoService implements IcnService {
	private IcnTableDao dao;

	public IcnDaoService() throws Exception {
		this.dao = new IcnTableDao();
	}

	public List getAllIcns() throws Exception {
		return dao.getAllIcns();
	}

	public void updateIcn(IcnVO emp) throws Exception {
		dao.update(emp);
	}

	public void deleteIcn(String id) throws Exception {
		dao.delete(id);
	}

	public IcnVO getIcnInfo(String id) throws Exception {
		return dao.getIcnInfo(id);
	}

	public void insertIcn(IcnVO emp) throws Exception {
		dao.insert(emp);
	}

	@Override
	public List getIcnList() throws Exception {
		return dao.getIcnList();
	}

	@Override
	public List searchByDescr(String descr) throws Exception {
		return dao.searchByDescr(descr);
	}

	@Override
	public List searchByIcn(String icn) throws Exception {
		return dao.searchByIcn(icn);
	}

	@Override
	public IcnVO displayIcn(String icn) throws Exception {
		return dao.displayIcn(icn);
	}

	@Override
	public List getAllCmuTrack() throws Exception {
		return dao.getAllCmuTrack();
	}

	@Override
	public List<IcnVO> searchByStatus(String status) {
		return dao.searchByStatus(status);
	}

	@Override
	public List<IcnVO> searchByCustomer(String customer) {
		return dao.searchByCustomer(customer);		
	}

	@Override
	public List<IcnVO> searchByAddlScope(String searchValue) {
		return dao.searchByAddlScope(searchValue);
	}

	@Override
	public List<IcnVO> searchByMainScope(String searchValue) {
		return dao.searchByMainScope(searchValue);
	}

	@Override
	public List<IcnVO> searchByReqEngr(String searchValue) {
		return dao.searchByReqEngr(searchValue);
	}

	@Override
	public List<IcnVO> searchBySerNum(String searchValue) {
		return dao.searchBySerNum(searchValue);
	}

	@Override
	public List<IcnVO> searchByStation(String searchValue) {
		return dao.searchByStation(searchValue);
	}

	@Override
	public List<TeamWrkLoadVO> getTeamWrkLoad() {
		return dao.getTeamWrkLoad();
	}

	@Override
	public List<OutageMonthVO> getOutagesMonth(int mn, int yr) throws Exception {
		return dao.getOutagesByMonth(mn, yr);
	}

	@Override
	public List<ProjectKindVO> getProjectsByKind(String yr) {
		return dao.getProjectsByKind(yr);
	}

	@Override
	public List<String> getAllYears() {
		return dao.getAllYears();
	}

	@Override
	public String getSerialNo(String string) {
		return dao.getSerialNo(string);
	}

}
